public class Persona {
	private String nif, nombre, apellidos;
	private int telefono;
	
	public Persona(String nif, String nombre, String apellidos, int telefono) {
		this.setNif(nif);
		this.setNombre(nombre);
		this.setApellidos(apellidos);
		this.setTelefono(telefono);
	}
	
	public Persona(int nif, String nombre, String apellidos, int telefono) {
		String ni = String.valueOf(nif);
		this.nif = ni + calculaLetra(nif);
		this.nombre = nombre;
		this.apellidos = apellidos;
		this.telefono = telefono;
	}
	
	//GETTERS
	public String getNif() {
		return this.nif;
	}
	
	public String getNombre() {
		return this.nombre;
	}
	
	public String getApellidos() {
		return this.apellidos;
	}
	
	public int getTelefono() {
		return this.telefono;
	}
	
	//SETTERS
	public void setNif(String nif) {
		this.nif = nif;
	}	
		
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	
	public void setApellidos(String ape) {
		this.apellidos = ape;
	}
	
	public void setTelefono(int tel) {
		this.telefono = tel;
	}
	
	//metodo que calcula la la letra de un dni numerico
	public static char calculaLetra(int nif) {		
		String cadena = "TRWAGMYFPDXBNJZSQVHLCKE";
		int resul = nif % 23;
		char letra = cadena.charAt(resul);		
		return letra;
	}
	
	//metodo que comprueba si la letra de un dni es correcta
	public static boolean comprobarLetra(String nif) {
		boolean resul = false;
		int nifInt = Integer.parseInt(nif.substring(0, 8));
		if (calculaLetra(nifInt) == nif.charAt(8)) {
			resul = true;
		}
		return resul;
	}
}
